The present invention relates to data communications, and in particular, to improving data communications by taking into account current transmission channel load or throughput when making channel type switching decisions.
In current and future mobile radio communications systems, a variety of different services are and will be provided. While mobile radio communications systems have traditionally provided circuit-switched services, e.g., to support voice calls, packet switched data services are also becoming increasingly important. Example packet data services include e-mail, file transfers, and information retrieval using the Internet. Because packet data services often utilize system resources in a manner that varies over the course of a data packet session, the flow of packets is often characterized as xe2x80x9cbursty.xe2x80x9d Transmitted packet bursts are interspersed with periods where no packets are transmitted so that the xe2x80x9cdensityxe2x80x9d of packets is high for short time periods and very low for long periods.
Mobile communications systems must accommodate both circuit-switched services and packet-switched services. But at the same time, the limited radio bandwidth must be used efficiently. Consequently, different types of radio channels may be employed to more efficiently accommodate different types of traffic to be transported across the radio interface. For example, one type of radio channel may be configured to more efficiently transport circuit-switched traffic and another type of radio channel may be configured to more efficiently transport packet-switched traffic.
The Global System for Mobile communications (GSM) is one example of a mobile communications system that offers circuit-switched services via a Mobile Switching Center (MSC) node and packet-switched services via a General Packet Radio Service (GPRS) node. For circuit-switched, guaranteed service, dedicated traffic channels are employed. A radio channel is temporarily dedicated (for the life of the mobile connection) to a particular mobile user and delivers frames of information as received without substantial delay. A dedicated channel generally provides a higher data throughput. For packet-switched, best effort service, common channels are employed where plural mobile users share the common channel at the same time. Typically, a common channel delivers packets of information at a lower data throughput than a dedicated channel. Thus, when the quality of service parameter(s) requested is (are) relatively high, e.g., for a speech or synchronized communication, soft/softer handover, etc., a dedicated channel may be selected. When the quality of service requested is relatively low, e.g., for an e-mail message, a common channel may be selected.
The selection of the appropriate channel type is particularly important in third generation mobile systems that employ Wideband Code Division Multiple Access (W-CDMA). The third generation wideband CDMA systems must support a variety of circuit-switched and packet-switched services over a wide range of bit rates, e.g., kilobits per second to megabits per second. Two of the most critical radio resources in wideband CDMA needed to support such services are channelization codes and transmission power. Channelization codes are used to reduce interference and to separate information between different users. The more channel capacity required, the more channelization codes needed. Other critical radio-related resource parameters include transmission power and interference level. Dedicated channels employ closed loop transmit power control which provides more accurate power assignments resulting in less interference and lower bit error rate. Common channels usually employ open loop power control which is less accurate and not as well suited for transmitting large amounts of data.
There are additional challenges in evolving wideband CDMA systems to offering new and diverse services while at the same time efficiently distributing the limited system resources. For example, while data traffic is by nature xe2x80x9cbursty,xe2x80x9d as described above, traffic patterns are also affected by the particular transmission protocol employed. For example, the most commonly used transmission protocol on the Internet today is Transmission Control Protocol (TCP). TCP provides reliable, in-order delivery of a stream of bytes and employs a flow control mechanism and a congestion control mechanism. The amount of data delivered for transmission is regulated based on the amount of detected congestion, i.e., too many packets. To accomplish this regulation, when TCP senses the loss of a small number of packets, it reduces the transmission rate by half or more and then slowly increases that rate to gradually raise throughput. This congestion response mechanism may adversely impact the radio network throughput.
Another factor to be considered is the use of different Quality of Service (QoS) classes. For example, three different priority classes may be provided to users in a network: low priority would include users with small demands in throughput and delays (e.g., an e-mail user), medium priority users that demand a higher level of throughput (e.g., Web service), and high priority users requiring high throughput with low delays (e.g., voice, video, etc.).
Because of the bursty nature of packet data transmissions, congestion-sensitive transmission protocols, QoS parameters, and other factors making packet data transmissions quite dynamic, the channel-type best-suited to efficiently support a user connection may well change during the life of that user connection. At one point, it might be better for the user connection to be supported by a dedicated channel, while at another point, it might be better for the user connection to be supported by a common channel. The present invention determines if and when to make a channel-type switch for a particular user connection, and in particular, when to switch from a lower capacity or quality (e.g., a common channel) to a higher capacity or quality channel (e.g., a dedicated channel). One way of making that determination is a threshold comparison operation. When a data amount threshold is exceeded for a user connection supported by a lower capacity or quality channel, the connection is switched to a higher capacity or quality channel.
FIG. 1 is a graph which illustrates overall cellular system throughput in megabytes as a function of the number of user connections currently being supported by a common channel. The simulated traffic is xe2x80x9cpro-dedicated,xe2x80x9d i.e., larger packets are transmitted and users are therefore best handled on a dedicated channel. Three different lines are shown including a solid line corresponding to a zero byte, channel type switching user connection transmit buffer amount threshold, a dashed line corresponding to a 2,000 byte threshold, and a dashed line corresponding to a 3,500 byte threshold. Since pro-dedicated traffic is simulated, the best throughput is achieved when a user connection is switched as fast as possible to a dedicated channel, i.e., a zero byte threshold. But this is not always the best strategy. If a user has a smaller amount of data to transmit, radio resources will be wasted if the user connection is switched immediately to a dedicated channel. On the other hand, if the threshold is too high, (e.g., 3,500 bytes), the system throughput is relatively low because little or no traffic is switched from the common to dedicated channels, and too much traffic is on the common channel. Better throughput along with reasonably efficient and effective use of radio resources are achieved with the lower channel switching threshold of 2,000 bytes. The throughput at this threshold is nearly as good as an ideal channel type switching threshold of zero bytes where virtually all of traffic is sent on a dedicated channel and none is sent on the common channel. Thus, a compromise threshold is a better value for determining which user connections can be adequately supported by a common channel and which would be better supported by a dedicated channel.
FIG. 2 graphs the common channel load with fifty users on the common channel and with a channel type switching threshold of 3,500 bytes. Out of fifty users, over forty users are trying to transmit on a common channel most of the time which yields an average throughput of only 0.4 kbit/s. The low throughput results from the congestion on the common channel.
The present invention solves the above-identified problems by taking into account the current load or throughput on the common channel when making a decision to switch a user connection from a lower capacity or quality channel like a common type of channel to a higher capacity or quality channel like a dedicated type of channel. At some point in time, a lower capacity or quality channel supports a user connection. Thereafter, a current load or throughput on the common channel is detected. Based on the detected load or throughput, a data amount threshold is provided. Different loads are associated with different thresholds. A current amount of data to be transmitted over the user connection is detected. A determination is made whether to switch the user connection from a common channel to a higher capacity or quality channel based (1) on the detected amount of data to be transmitted over the user connection and (2) on the provided data amount threshold. The user connection is switched to the higher capacity or quality channel when the detected amount of data to be transmitted is greater than the data amount threshold. Otherwise, the user connection is maintained on the first type of channel.
The load or throughput on the common channel may be determined based on a number of user connections currently being supported on the common channel and a data rate or data capacity of the common channel. The amount of data to be transmitted for a user connection may be determined by counting the number of data packets or bytes currently stored in a transmit buffer associated with a user connection. The determination of the data amount threshold may also take into account efficient use of the first type of channel and inefficiency created by performing channel-type switching. In one nonlimiting example embodiment, the present invention is implemented in a radio network control node.
A relationship may be established between the current load or throughput on the common channel and a corresponding amount threshold where as the current load increases, the channel switching threshold decreases. In one example embodiment, that relationship may be a simple linear type relationship. Alternatively, that relationship establishes a particular xe2x80x9cmappingxe2x80x9d between plural channel load values and plural data amount threshold values. In yet another example, the relationship establishes the data amount threshold value based on an estimated time to empty the amount of data currently in the user connection transmit buffer on the common channel at different common channel loads or throughputs. A maximum delay time or other quality of service (QoS) parameter associated with a user connection may be used to set the data amount threshold for that user connection. For a maximum delay time, the established buffer threshold associated with that time is set for the channel switching decision for the user connection.
With the present invention, better channel-type switching decisions may be made based upon the current capability of the system to effectively support such a channel switching decision. In the example embodiment, by taking into account the current load or throughput on the common channel, unnecessary or non-optimum channel-type switches to a dedicated or other higher capacity or quality channel are avoided. If the current load or throughput on the common channel is such that the needs of the user connection may be met, the user connection may remain on the common channel to allow more efficient use of dedicated channel radio resources.